/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package egresados;

import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

/**
 *
 * @author murrieta
 */
@Entity
@Table(name = "GENERALES", catalog = "", schema = "EGRESADOS")
@NamedQueries({@NamedQuery(name = "Generales.findAll", query = "SELECT g FROM Generales g"), @NamedQuery(name = "Generales.findByRfc", query = "SELECT g FROM Generales g WHERE g.rfc = :rfc"), @NamedQuery(name = "Generales.findByNombre", query = "SELECT g FROM Generales g WHERE g.nombre = :nombre"), @NamedQuery(name = "Generales.findByApellidopaterno", query = "SELECT g FROM Generales g WHERE g.apellidopaterno = :apellidopaterno"), @NamedQuery(name = "Generales.findByApellidomaterno", query = "SELECT g FROM Generales g WHERE g.apellidomaterno = :apellidomaterno"), @NamedQuery(name = "Generales.findByDireccion", query = "SELECT g FROM Generales g WHERE g.direccion = :direccion"), @NamedQuery(name = "Generales.findByColonia", query = "SELECT g FROM Generales g WHERE g.colonia = :colonia"), @NamedQuery(name = "Generales.findByMunicipio", query = "SELECT g FROM Generales g WHERE g.municipio = :municipio"), @NamedQuery(name = "Generales.findByCodigopostal", query = "SELECT g FROM Generales g WHERE g.codigopostal = :codigopostal"), @NamedQuery(name = "Generales.findByCiudad", query = "SELECT g FROM Generales g WHERE g.ciudad = :ciudad"), @NamedQuery(name = "Generales.findByPais", query = "SELECT g FROM Generales g WHERE g.pais = :pais"), @NamedQuery(name = "Generales.findByTelefono", query = "SELECT g FROM Generales g WHERE g.telefono = :telefono"), @NamedQuery(name = "Generales.findByEmail", query = "SELECT g FROM Generales g WHERE g.email = :email"), @NamedQuery(name = "Generales.findByFechanacimiento", query = "SELECT g FROM Generales g WHERE g.fechanacimiento = :fechanacimiento"), @NamedQuery(name = "Generales.findByNacionalidad", query = "SELECT g FROM Generales g WHERE g.nacionalidad = :nacionalidad"), @NamedQuery(name = "Generales.findBySexo", query = "SELECT g FROM Generales g WHERE g.sexo = :sexo")})
public class Generales implements Serializable {
    @Transient
    private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "RFC")
    private String rfc;
    @Basic(optional = false)
    @Column(name = "NOMBRE")
    private String nombre;
    @Basic(optional = false)
    @Column(name = "APELLIDOPATERNO")
    private String apellidopaterno;
    @Basic(optional = false)
    @Column(name = "APELLIDOMATERNO")
    private String apellidomaterno;
    @Basic(optional = false)
    @Column(name = "DIRECCION")
    private String direccion;
    @Column(name = "COLONIA")
    private String colonia;
    @Column(name = "MUNICIPIO")
    private String municipio;
    @Column(name = "CODIGOPOSTAL")
    private Integer codigopostal;
    @Column(name = "CIUDAD")
    private String ciudad;
    @Basic(optional = false)
    @Column(name = "PAIS")
    private String pais;
    @Column(name = "TELEFONO")
    private Long telefono;
    @Basic(optional = false)
    @Column(name = "EMAIL")
    private String email;
    @Column(name = "FECHANACIMIENTO")
    @Temporal(TemporalType.DATE)
    private Date fechanacimiento;
    @Column(name = "NACIONALIDAD")
    private String nacionalidad;
    @Column(name = "SEXO")
    private String sexo;

    public Generales() {
    }

    public Generales(String rfc) {
        this.rfc = rfc;
    }

    public Generales(String rfc, String nombre, String apellidopaterno, String apellidomaterno, String direccion, String pais, String email) {
        this.rfc = rfc;
        this.nombre = nombre;
        this.apellidopaterno = apellidopaterno;
        this.apellidomaterno = apellidomaterno;
        this.direccion = direccion;
        this.pais = pais;
        this.email = email;
    }

    public String getRfc() {
        return rfc;
    }

    public void setRfc(String rfc) {
        String oldRfc = this.rfc;
        this.rfc = rfc;
        changeSupport.firePropertyChange("rfc", oldRfc, rfc);
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        String oldNombre = this.nombre;
        this.nombre = nombre;
        changeSupport.firePropertyChange("nombre", oldNombre, nombre);
    }

    public String getApellidopaterno() {
        return apellidopaterno;
    }

    public void setApellidopaterno(String apellidopaterno) {
        String oldApellidopaterno = this.apellidopaterno;
        this.apellidopaterno = apellidopaterno;
        changeSupport.firePropertyChange("apellidopaterno", oldApellidopaterno, apellidopaterno);
    }

    public String getApellidomaterno() {
        return apellidomaterno;
    }

    public void setApellidomaterno(String apellidomaterno) {
        String oldApellidomaterno = this.apellidomaterno;
        this.apellidomaterno = apellidomaterno;
        changeSupport.firePropertyChange("apellidomaterno", oldApellidomaterno, apellidomaterno);
    }

    public String getDireccion() {
        return direccion;
    }

    public void setDireccion(String direccion) {
        String oldDireccion = this.direccion;
        this.direccion = direccion;
        changeSupport.firePropertyChange("direccion", oldDireccion, direccion);
    }

    public String getColonia() {
        return colonia;
    }

    public void setColonia(String colonia) {
        String oldColonia = this.colonia;
        this.colonia = colonia;
        changeSupport.firePropertyChange("colonia", oldColonia, colonia);
    }

    public String getMunicipio() {
        return municipio;
    }

    public void setMunicipio(String municipio) {
        String oldMunicipio = this.municipio;
        this.municipio = municipio;
        changeSupport.firePropertyChange("municipio", oldMunicipio, municipio);
    }

    public Integer getCodigopostal() {
        return codigopostal;
    }

    public void setCodigopostal(Integer codigopostal) {
        Integer oldCodigopostal = this.codigopostal;
        this.codigopostal = codigopostal;
        changeSupport.firePropertyChange("codigopostal", oldCodigopostal, codigopostal);
    }

    public String getCiudad() {
        return ciudad;
    }

    public void setCiudad(String ciudad) {
        String oldCiudad = this.ciudad;
        this.ciudad = ciudad;
        changeSupport.firePropertyChange("ciudad", oldCiudad, ciudad);
    }

    public String getPais() {
        return pais;
    }

    public void setPais(String pais) {
        String oldPais = this.pais;
        this.pais = pais;
        changeSupport.firePropertyChange("pais", oldPais, pais);
    }

    public Long getTelefono() {
        return telefono;
    }

    public void setTelefono(Long telefono) {
        Long oldTelefono = this.telefono;
        this.telefono = telefono;
        changeSupport.firePropertyChange("telefono", oldTelefono, telefono);
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        String oldEmail = this.email;
        this.email = email;
        changeSupport.firePropertyChange("email", oldEmail, email);
    }

    public Date getFechanacimiento() {
        return fechanacimiento;
    }

    public void setFechanacimiento(Date fechanacimiento) {
        Date oldFechanacimiento = this.fechanacimiento;
        this.fechanacimiento = fechanacimiento;
        changeSupport.firePropertyChange("fechanacimiento", oldFechanacimiento, fechanacimiento);
    }

    public String getNacionalidad() {
        return nacionalidad;
    }

    public void setNacionalidad(String nacionalidad) {
        String oldNacionalidad = this.nacionalidad;
        this.nacionalidad = nacionalidad;
        changeSupport.firePropertyChange("nacionalidad", oldNacionalidad, nacionalidad);
    }

    public String getSexo() {
        return sexo;
    }

    public void setSexo(String sexo) {
        String oldSexo = this.sexo;
        this.sexo = sexo;
        changeSupport.firePropertyChange("sexo", oldSexo, sexo);
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (rfc != null ? rfc.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Generales)) {
            return false;
        }
        Generales other = (Generales) object;
        if ((this.rfc == null && other.rfc != null) || (this.rfc != null && !this.rfc.equals(other.rfc))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "egresados.Generales[rfc=" + rfc + "]";
    }

    public void addPropertyChangeListener(PropertyChangeListener listener) {
        changeSupport.addPropertyChangeListener(listener);
    }

    public void removePropertyChangeListener(PropertyChangeListener listener) {
        changeSupport.removePropertyChangeListener(listener);
    }

}
